An example of a data storage device is the tape drive, which receives user data from computers, particularly, but not exclusively to back-up the user data held on the computer onto a data-holding medium. In such back-up applications it is of prime importance that the user data is retrievable, since generally, this copy is the back-up copy that will only be required if the original has been lost or damaged. Therefore, there is an ongoing need to ensure that back-up data storage devices are as robust and secure as possible.
Once user data has been stored on the data-holding medium it can be held there for long periods. To recover the user data from the data-holding medium the data storage device must read the data-holding medium and regenerate the user data originally stored there. In some devices the user data backed-up on the data-holding medium accounts for only about 40% of the overall information held on the data-holding medium. The remaining 60% of the information is non-user data, such as headers or error detection and correction information that attempts to make the user data as secure as possible.
Therefore, in order to read the user data the storage device must accurately detect which is the user data within all of the information held on the data-holding medium. In view of the amount of information other than user data that is held on the data-holding medium, this can be problematic.
The storage device must also be able to detect and correct as many as possible of the errors which may have occurred in writing the user data to the data-holding medium or reading the user data from it, using the error detection and correction information.
The user data is normally split into discrete items, each item including the user data, and non-user data including the error detection and correction information and a header denoting its position in the writing sequence, a write pass number and header error detection information.
The write pass number indicates how many times the data-holding medium has been written to, that is, if it is the fifth time, the write pass number is 5. When writing, the physical separation between the data-holding medium and a write head can vary because, for example, of dirt on the data-holding medium. If the separation is too great, the signal strength is reduced. Data previously written to the data-holding medium is not then erased, and remains on the data-holding medium. Such data is known as a drop-in, and can cause errors when reading the data from the data-holding medium. However, drop-ins can be detected by the write pass number, which is incremented by the data-storage device each time the data-holding medium has been written. A drop-in has a lower write pass number than that of the newer signal which surrounds it, and so can be ignored when reading the data, in order to reduce errors.
When reading, the data storage device holds the write pass number, updating the value as it increases. If data has been written to more than one channel of the data-holding medium, the write pass number changes across all the channels at the same time. It is known in these circumstances for a data storage device to check the write pass number for each data item separately, so that drop-ins can be discarded, and the write pass value updated as it increases. However, this can lead to the write pass value being updated wrongly if a write pass number is in error. Further, if the write pass has in fact changed for all channels, but the first channels read are drop-ins, they may not be detected as such because they do not cause an update of the value.